package com.gangquan360.smartadmin.module.order.saleorder.domain.dto;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;

/**
 * [ 送样表的产品 ]
 *
 * @author wiggin
 * @version 1.0
 * @company wiggin
 * @copyright (c) 2018 wigginInc. All rights reserved.
 * @date 2019/3/27 0027 下午 12:27
 * @since JDK1.8
 */
@Data
public class SaleOrderProductDTO {

    @ApiModelProperty("")
    private Long id;

    @ApiModelProperty("销售订单id")
    private Long saleOrderId;

    @ApiModelProperty("产品id")
    private Long productId;

    @ApiModelProperty("产品数量")
    private Integer productNum;

    @ApiModelProperty("含税价格")
    private BigDecimal taxPrice;

    @ApiModelProperty("采购单价")
    private BigDecimal purchasePrice;

    @ApiModelProperty("毛利")
    private BigDecimal grossAmount;

    @ApiModelProperty("订单总金额")
    private BigDecimal totalAmount;

    @ApiModelProperty("开票状态(0未开票,1已开票)")
    private Integer billingStatus;

    @ApiModelProperty("收款状态(0未收款,1部分收款,2全部收款)")
    private Integer receivablesStatus;

    @ApiModelProperty("对账状态(0未对账,1已对账)")
    private Integer reconciliationStatus;

    @ApiModelProperty("出入库状态(0未收款,1部分收款,2全部收款)")
    private Integer stockStatus;

    @ApiModelProperty("制单号")
    private String makeOrderNo;

    @ApiModelProperty("物料号")
    private String materialNo;

    @ApiModelProperty("生产交期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date productionDeliveryDate;

    @ApiModelProperty("客户交期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date customerDeliveryDate;

    @ApiModelProperty("序列号")
    private String serialNumber;

    @ApiModelProperty("")
    private Integer createUser;

    @ApiModelProperty("")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    @ApiModelProperty("")
    private Integer updateUser;

    @ApiModelProperty("")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;


}
